home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / gcc / gcc261c.zoo / objects / Set.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-18  |  1.8 KB  |  55 lines

  1. /* Interface for Objective-C Set collection object
  2.    Copyright (C) 1993,1994 Free Software Foundation, Inc.
  3.  
  4.    Written by:  R. Andrew McCallum <mccallum@gnu.ai.mit.edu>
  5.    Date: May 1993
  6.  
  7.    This file is part of the GNU Objective C Class Library.
  8.  
  9.    This library is free software; you can redistribute it and/or
  10.    modify it under the terms of the GNU Library General Public
  11.    License as published by the Free Software Foundation; either
  12.    version 2 of the License, or (at your option) any later version.
  13.    
  14.    This library is distributed in the hope that it will be useful,
  15.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  17.    Library General Public License for more details.
  18.  
  19.    You should have received a copy of the GNU Library General Public
  20.    License along with this library; if not, write to the Free
  21.    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  22. */ 
  23.  
  24. #ifndef __Set_h_OBJECTS_INCLUDE
  25. #define __Set_h_OBJECTS_INCLUDE
  26.  
  27. #include <objects/stdobjects.h>
  28. #include <objects/Collection.h>
  29.  
  30. @interface Set : Collection
  31. {
  32.   coll_cache_ptr _contents_hash;    // a hashtable to hold the contents;
  33. }
  34.  
  35. // MANAGING CAPACITY;
  36. + (unsigned) defaultCapacity;
  37.  
  38. // INITIALIZING AND FREEING;
  39. - initWithType: (const char *)contentEncoding
  40.     capacity: (unsigned)aCapacity;
  41. - initWithCapacity: (unsigned)aCapacity;
  42.  
  43. // SET OPERATIONS;
  44. - intersectWithCollection: (id <Collecting>)aCollection;
  45. - unionWithCollection: (id <Collecting>)aCollection;
  46. - differenceWithCollection: (id <Collecting>)aCollection;
  47.  
  48. - shallowCopyIntersectWithCollection: (id <Collecting>)aCollection;
  49. - shallowCopyUnionWithCollection: (id <Collecting>)aCollection;
  50. - shallowCopyDifferenceWithCollection: (id <Collecting>)aCollection;
  51.  
  52. @end
  53.  
  54. #endif /* __Set_h_OBJECTS_INCLUDE */
  55.